#include"C++ͷļ.h"
#include<string.h>
//#include<utility>
//#include<algorithm>


//int StrToInt(string str)
//{
//    int num = 0;
//    int begin = 0, end = str.size() - 1;
//    if (str[begin] < 48 || str[begin] > 57)
//    {
//        ++begin;
//    }
//    if (str[end] < 48 || str[end]>57)
//    {
//        --end;
//    }
//    int n = 1;
//    while (end >= begin)
//    {
//        if (str[end] > 48 && str[end] < 57)
//        {
//            num += (n * (str[end] - '0'));
//            n *= 10;
//        }
//        else
//        {
//            return 0;
//        }
//        --end;
//    }
//    if (str[begin-1] == '-')
//    {
//        return -num;
//    }
//    return num;
//}
//
//int main()
//{
//    string str("-123");
//    cout << StrToInt(str) << endl;
//    return 0;
//}



//string addStrings(string num1, string num2)
//{
//    int end1 = num1.size() - 1;
//    int end2 = num2.size() - 1;
//    string retStr;
//    retStr.reserve(end1 > end2 ? end1 + 1 : end2 + 1);
//    int next = 0;
//    int ret = 0;
//    while (end1 >= 0 || end2 >= 0)
//    {
//        ret = (end1 >= 0 ? num1[end1--] - '0' : 0) + (end2 >= 0 ? num2[end2--] - '0' : 0) + next;
//        next = ret / 10;
//        ret = ret % 10;
//        retStr += (ret + '0');
//    }
//    if (next)
//        retStr += (1 + '0');
//
//    reverse(retStr.begin(), retStr.end());
//    return retStr;
//}

int firstUniqChar(string s)
{
    int arr[26] = { 0 };
    for (auto& ch : s)
    {
        ++arr[ch - 'a'];
    }
    for (int i = 0; i < s.size(); ++i)
    {
        if (arr[(s[i] - 'a')] == 1)
        {
            return i;
        }
    }
    return -1;
}

class Solution {
public:
    void reverseString(vector<char>& s)
    {
        int begin = 0, end = s.size() - 1;
        while (begin < end)
        {
            swap(s[begin], s[end]);
            ++begin;
            --end;
        }
    }
};